//
//  BSManager.h
//  PhotographyStudi
//
//  Created by 叶一枫 on 2017/6/5.
//  Copyright © 2017年 叶一枫. All rights reserved.
//


//管理类，NSFileManager

#import "BaseObject.h"

typedef enum : NSUInteger {
    
    //常用目录，iCloud备份目录，存放数据,这里不能存缓存文件,否则上架不被通过
    Documents = 0,
    
    //目录下还有两个目录Caches：存放体积大又不需要备份的数据,SDWebImage缓存路径就是这个  Preference：设置目录，iCloud会备份设置信息
    Library,
    
    Library_Caches,
    
    Library_Preference,
    
    //存放临时文件，不会被备份，而且这个文件下的数据有可能随时被清除的可能
    Tmp,
    
    //沙河路径
    Home,
    
    //自定义路径
    MyPath
    
} MyFilePath;

@interface BSManager : BaseObject


/**
 管理者单例
 
 @return BSManager
 */
+(BSManager*)defaulBSManager;


/**
 根据路径管理文件
 
 @param path 文件路径
 @param directory 选取的路径类型：枚举MyFilePath
 @return FileModel
 */
-(NSString*)fullPath:(NSString*)path directory:(MyFilePath)directory;

/**
 创建文件夹

 @param filePath 文件夹路径
 @param directory 选取的路径类型：枚举MyFilePath
 */
-(void)creatDirectory:(NSString*)filePath directory:(MyFilePath)directory;


/**
 创建文件

 @param filePath 文件路径
 @param directory 选取的路径类型：枚举MyFilePath
 */
-(void)creatFile:(NSString*)filePath directory:(MyFilePath)directory;

/**
 移除文件夹或文件

 @param filePath 文件夹或文件的路径
 @param directory 选取的路径类型：枚举MyFilePath
 */
-(void)removeFile:(NSString*)filePath directory:(MyFilePath)directory;

/**
 获取文件的所有信息

 @param filePath 文件路径
 @param directory 选取的路径类型：枚举MyFilePath
 @return fileModel
 */
-(FileModel*)fileModel:(NSString*)filePath directory:(MyFilePath)directory;


/**
 获取路径下的所有文件夹或文件

 @param filePath 文件路径
 @param directory 选取的路径类型：枚举MyFilePath
 @param onlyDirectory 仅获取文件夹
 @return NSArray
 */
-(NSArray*)getFiles:(NSString*)filePath directory:(MyFilePath)directory onlyDirectory:(BOOL)onlyDirectory;


/**
 根据附件类型获取到附件类型的默认图片
 
 @param fileType 附件类型
 @return 附件默认图片名称
 */
-(NSString*)getPlaceholderImageNameWithFiletype:(NSString*)fileType;






@end
